package gestionYClasesDeNegocio;

import entity.UsuarioEntity;
import java.util.ArrayList;

public class Usuario {

    private ArrayList<Objeto> arrObj;
    private ArrayList<Comentario> arrCom;
    private UsuarioEntity usuEntity;

    public Usuario() {
    }

    public Usuario(UsuarioEntity usuEntity) {
        this.usuEntity = usuEntity;
    }

    public entity.UsuarioEntity getUsuarioEntity() {
        return this.usuEntity;
    }

    public Usuario(String nombreUsuario, String pass, String apellido, String email, String nombre) {
        usuEntity = new entity.UsuarioEntity();
        usuEntity.setNombre(nombre);
        usuEntity.setNombreUsuario(nombreUsuario);
        usuEntity.setPass(pass);
        usuEntity.setApellido(apellido);
        usuEntity.setEmail(email);
    }

    public String getNombreUsuario() {
        return usuEntity.getNombreUsuario();
    }

    public void setNombreUsuario(String nombreUsuario) {
        usuEntity.setNombreUsuario(nombreUsuario);
    }

    public String getPass() {
        return usuEntity.getPass();
    }

    public void setPass(String pass) {
        usuEntity.setPass(pass);
    }

    public String getApellido() {
        return usuEntity.getApellido();
    }

    public void setApellido(String apellido) {
        usuEntity.setApellido(apellido);
    }

    public String getEmail() {
        return usuEntity.getEmail();
    }

    public void setEmail(String email) {
        usuEntity.setEmail(email);
    }

    public void setNombre(String nombre) {
        usuEntity.setNombre(nombre);
    }

    public String getNombre() {
        return usuEntity.getNombre();
    }

    public void addComentario(Comentario com) {
        this.arrCom.add(com);
    }

    public Comentario getComentario(int index) {
        return this.arrCom.get(index);
    }

    public void addObjeto(Objeto obj) {
        this.arrObj.add(obj);
    }

    public Objeto getOnjeto(int index) {
        return this.arrObj.get(index);
    }

    @Override
    public String toString() {
        return "Nombre: " + this.getNombre() + " - Apellido: " + this.getApellido();
    }

    @Override
    public boolean equals(Object obj) {
        if (this.getNombreUsuario().compareTo(((Usuario) obj).getNombreUsuario()) == 0) {
            return true;
        }
        return false;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 17 * hash + (this.getNombreUsuario() != null ? this.getNombreUsuario().hashCode() : 0);
        return hash;
    }
}
